1. Technical Field
This invention relates to computer systems and networks, and more particularly to installable file systems in client operating system loaded from a server on a network such as the internet.
2. Description of the Related Art
A client computer on a network may in some instances be in the form of a minimally-configured platform having only the basic components needed to input and output data by a user. All of the applications software and long-term storage of data is provided by a server somewhere else on the network. This type of client station is sometimes called a network computer, in that it is operable only when connected to the network rather than as a stand-alone unit. The client station often does not have permanent storage media such as a hard disk drive or a CD-ROM drive, but instead merely accesses any needed programs and data from a remote server via the network.
In addition to relying on the server and the network for applications programs and for long-term data storage, the client station may also rely on the network link for its operating system. JavaOS(trademark) is an example of such an arrangement. JavaOS is an operating system maintained at a server on a network for downloading by a client each time the client comes online at bootup. The client station contains in its hardware a minimumally-sufficient ROM-based code to log onto the network at power-on and begin to retrieve information from the server; this client immediately starts installing its operating system into local memory upon boot-up as the code is received from the server. Then, after the operating system software is installed, the applications programs needed are retrieved from the server and installed in system memory.
The client station using a JavaOS server-provided operating system or the like has ROM-based code to start loading its operating system from the server, such as by TFTP, at start-up. The JavaOS operating system loads a set of standard file systems, such as those for NFS and TFTP. In some situations, however, it would be preferable to have additional file systems at particular clients. For example, a client may have a hard disk or other permanent store, and thus need a file system or driver for accessing this media. It would not be desirable to add file systems or drivers to the OS package of code that is loaded over the network to all of the clients as they boot up, because this would unduly burden the network, and also would occupy memory at each of the clients. Accordingly, the absence of installable file systems in JavaOS results in limitations on utility, or otherwise unnecessary network traffic is generated and memory usage is inefficient.
It is therefore one object of the present invention to provide an improved method of operating a client in a computer network system in a more efficient manner.
It is another object of the present invention to provide an improved method of operating a server-provided operating system at a client in a computer network, particularly an improved file system.
It is yet another object of the present invention to provide an improved file system for a client operating system in a computer network.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.
According to one embodiment of the invention, a client station on computer network uses an operating system such as JavaOS which is permanently stored at the server rather than on storage media at the client location. The JavaOS is loaded and installed at the client upon bootup of the client. The client loads certain standard file systems as part of the basic OS code that it receives from the server. These employ a generic file system driver, which is located in Java code rather than in native code at the client. In addition to the standard file systems, other file systems may be installed, using this generic file system driver. For example, a file system for a hard drive may be installed at a particular client, even though this file system is not part of the set of standard file systems. Providing the generic file system driver or handler switch in Java code rather than native code allows file systems to be dynamically added to a running system.